package com.hu.create;

/**
 * @author 00355760
 * @功能：
 * @版本： V1
 * @版权： 信息技术有限公司（http://www.mychery.com/）
 * @作者： 磐石战队开发组  00355760
 * @日期： 2024/9/19 14:32
 */
public class LambdaTest {

    //3、静态内部类
    static class MyClass2 implements MyInterface {
        @Override
        public void myMethod() {
            System.out.println("静态内部类 实现了 MyInterface 的 myMethod 方法");
        }
    }
    public static void main(String[] args) {
        MyInterface myInterface = new MyClass();
        myInterface.myMethod();

        new MyClass2().myMethod();

        //4、局部内部类
        class MyClass3 implements MyInterface {
            @Override
            public void myMethod() {
                System.out.println("局部内部类 实现了 MyInterface 的 myMethod 方法");
            }
        }

        new MyClass3().myMethod();

        //5、匿名内部类
        MyInterface myInterface1 = new MyInterface() {
            @Override
            public void myMethod() {
                System.out.println("匿名内部类 实现了 MyInterface 的 myMethod 方法");
            }
        };
        myInterface1.myMethod();

        //6、Lambda表达式
        MyInterface myInterface2 = () -> System.out.println("Lambda表达式 实现了 MyInterface 的 myMethod 方法");
        myInterface2.myMethod();
    }
}

//1、定义一个函数式接口
 interface MyInterface {
    void myMethod();
 }

 //2、实现接口
 class MyClass implements MyInterface {
    @Override
    public void myMethod() {
        System.out.println("MyClass 实现了 MyInterface 的 myMethod 方法");
    }
 }